home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
comm2
/
zpont311.lha
/
zpoint-3.11
/
Rexx
/
VIP_search.zprx
< prev
next >
Wrap
Text File
|
1995-03-09
|
7KB
|
207 lines
/* VIP_search.rexx */
/* $VER: V1.01 (13-Apr-1994) © Thomas Schlink {DENEB@KUESTE.NORTH.DE} */
/****************************************************************************/
/* */
/* */
/* __ _____ ____ _ */
/* \ \ / /_ _| _ \ ___ ___ __ _ _ __ ___| |__ */
/* \ \ / / | || |_) | / __|/ _ \/ _` | '__/ __| '_ \ */
/* \ V / | || __/ \__ \ __/ (_| | | | (__| | | | */
/* \_/ |___|_| _____|___/\___|\__,_|_| \___|_| |_| */
/* |_____| */
/* */
/* */
/* */
/****************************************************************************
1. Was tut es:
VIP_search hat die Aufgabe, alle neuen Nachrichten in einem Brett zu
markieren, die von Personen stammen, welche Du als wichtig empfindest.
Diese Personen werden zu diesem Zweck einmalig in eine Liste
(Envarc:VIP_search.people) aufgenommen. Das Anlegen und die
Erweiterung der Liste geschieht bequem über dieses ARexx-Script.
2. Wie installiere ich es:
Beide Aufgaben, das Erweitern der Liste, als auch die eigentliche
Aufgabe, das Suchen nach Nachrichten werden von ein und dem selben
Script erledigt. Dieses Script (VIP_search.rexx) kopiert man
sinnvollerweise nach 'Zodiac:Rexx'. Anschließend wird die Datei
Zodiac:fkeys.zp um zwei Einträge erweitert:
F10:SYS:Rexxc/rx Zodiac:Rexx/VIP_search.rexx %s search
F20:SYS:Rexxc/rx Zodiac:Rexx/VIP_search.rexx %s add
Die Wahl der Funktionstasten ist Dir natürlich freigestellt.
( <F20> = <Shift> + <F10> )
Denke daran, daß Du ZPoint neu starten mußt, nachdem Du fkeys.zp geän-
dert hast.
3. Wie benutze ich es:
Die Benutzung ist denkbar einfach: Zuersteinmal die Liste anlegen.
Dazu sucht man in den Brettern nach Mails von verschiedenen Leuten,
deren geistige Ergüsse man zukünftig nicht mehr verpassen möchte.
(Lustig z.B. die Mails von Dr. Peterchen) Wenn der Cursor auf der Mail
ist, dann einfach <shift> + <F10> drücken und die Liste ist um einen
Eintrag erweitert. Sollte eine Person dieser Liste später mal bei Dir
in Ungnade fallen, so kannst Du sie mit einem Text-Editor wieder aus
der Liste löschen. Das Suchen geschieht später sehr einfach durch
betätigen der Taste <F10>
4. Was ist neu, seit der V1.00:
Groß- / Kleinschreibung des Absenders wird ignoriert. Das erhöht die
Trefferquote und erspart einem das mehrfache Einscannen eines VIP's.
*****************************************************************************/
options results
PARSE arg ZPScreen Aufgabe
Dateiname = 'VIP_search.people'
address VALUE ZPScreen
If UPPER(Aufgabe) = 'ADD' then CALL ADD
If UPPER(Aufgabe) = 'SEARCH' then CALL SEARCH
EXIT
/*****************************************************************************/
/* */
/* Unterprogramm "ADD" zum Ergänzen der VIP-Liste */
/* */
/*****************************************************************************/
ADD:
WHICHLEVEL ; Level=RESULT
IF Level ~= 'BOARD' then DO
REQUESTNOTIFY 'Du Dummbatz! Du bist doch nicht im Brettmenue!'
EXIT
END
MESSAGEINFO AUTHOR ; Author = RESULT
/* Zuerst testen, ob die Datei überhaupt schon existiert */
If ~EXISTS(Dateiname) then DO
/* Datei existiert noch nicht und wird neu angelegt */
ok = OPEN('VIP-Datei',Dateiname,'W')
ok = CLOSE('VIP-Datei')
END
REQUESTRESPONSE Author
If RC then DO
/* Die VIP wird gespeichert */
ok = OPEN('VIP-Datei',Dateiname,'A')
ok = WRITELN('VIP-Datei',Author)
ok = CLOSE('VIP-Datei')
If ok then REQUESTNOTIFY 'VIP wurde gespeichert!'
else REQUESTNOTIFY 'FEHLER beim Speichern!'
END
else REQUESTNOTIFY 'VIP wurde nicht gespeichert!'
RETURN
/*****************************************************************************/
/* */
/* Unterprogramm "SEARCH" zum Markiren der "Wichtigen" People */
/* */
/*****************************************************************************/
SEARCH:
WHICHLEVEL ; Level=RESULT
IF Level = 'MAINMENU' then DO
REQUESTNOTIFY 'Du Dummbatz! Du bist doch im Hauptmenue!'
EXIT
END
IF Level = 'BOARDMENU' then ENTERBOARD
COUNT NEW ; N_neu = RESULT /* Anzahl neuer Nachrichten im Brett */
/* Zuerst testen, ob die Datei überhaupt schon existiert */
If ~EXISTS(Dateiname) then DO
REQUESTNOTIFY 'Es sind noch keine ''wichtigen'' People''s in der Liste !'
EXIT
END
ok=OPEN('VIP-Datei',Dateiname,'R')
Anzahl = 0
Do while ~EOF('VIP-Datei')
Anzahl = Anzahl+1
People.Anzahl = READLN('VIP-Datei')
/* Doppelte Eintragungen ausschließen: */
Do i=1 FOR Anzahl-1
If People.Anzahl = People.i then DO
Anzahl=Anzahl-1 /* war doppelt */
i=Anzahl /* Schleife beenden */
END
END
END
Anzahl = Anzahl-1 /* die letzte Zeile ist leer */
ok=CLOSE('VIP-Datei')
/* Die Variable 'Anzahl' enthält die Anzahl an VIP's in der Liste: */
/* People.1, People.2, ... , People.Anzahl */
SELECTMESSAGE NONE
JUMPTOMESSAGE 1
JUMPTONEW Down
JUMPTONEW Up
Anzahl_gefunden = 0
DO i=1 FOR N_neu
DROP Author
MESSAGEINFO AUTHOR ; Author = RESULT
DO j=1 FOR Anzahl
If UPPER(People.j) = UPPER(Author) then DO
SELECTMESSAGE
Anzahl_gefunden = Anzahl_gefunden + 1
END
END
JUMPTONEW Down
END
JUMPTOMESSAGE 1
JUMPTONEW Down
JUMPTONEW Up
If Anzahl_gefunden = 1 then REQUESTNOTIFY Anzahl_gefunden || ' VIP gefunden!'
else REQUESTNOTIFY Anzahl_gefunden || ' VIP''s gefunden!'
RETURN